# 二分法求列表a 在【lt,rt】内的最大值和最小值
def maxMin(a,res,lt,rt):
    # 1.[lt,rt]区间的元素个数小于等于2 直接求解
    if rt-lt<=2:
        res[0]=max(a[lt],a[rt-1]) # 最大值
        res[1]=min(a[lt],a[rt-1]) # 最小值
        return
    # 【lt,rt】元素个数大于2 二分
    mid=(lt+rt)//2
    lRes=[0]*2
    rRes=[0]*2
    # 左半区间
    maxMin(a,lRes,lt,mid)
    # 右半区间
    maxMin(a,rRes,mid,rt)
    # 合并
    res[0]=max(lRes[0],rRes[0])
    res[1]=max(lRes[1],rRes[1])

ls=[10,8,2,4,5,3,9,1]
res=[0]*2
maxMin(ls,res,0,len(ls))
print(res)